Service Data Objects (SDO)

Service Data Objects (SDO) establishes a peer-to-peer connection between two CANopen devices. This connection is based on a client/server mechanism.

  • The SDO server is the device that hosts the object dictionary and requires access.

  • The SDO client is the device that wants to access the object dictionary of a specific device.

The SDO service is based on two CAN messages with different identifiers. The first message is used by the SDO client and the second message is used by the SDO server.

There are two methods for SDO download/upload:

  • Expedited transfer: For objects less than or equal to 4 bytes.

  • Segmented transfer: For objects longer than 4 bytes.

Request (Client → Server)

COB_ID

B0

B1

B2

B3

B4

B5

B6

B7

600H+NodeID

ccs/cntrl

Object Index

SubIndex

Data (Optional)

Response (Client ← Server)

COB_ID

B0

B1

B2

B3

B4

B5

B6

B7

580H+NodeID

scs/cntrl

Object Index

SubIndex

Data (Optional)

Examples